package cn.iocoder.yudao.module.course.controller.admin.courses.vo;

import cn.iocoder.yudao.module.course.controller.admin.coursematerials.vo.CourseMaterialsRespVO;
import cn.iocoder.yudao.module.course.controller.admin.material.vo.MaterialRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 课程 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CoursesRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "3422")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "课程标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("课程标题")
    private String title;

    @Schema(description = "课程描述", example = "随便")
    @ExcelProperty("课程描述")
    private String description;

    @Schema(description = "课程类别", example = "27902")
    @ExcelProperty("课程类别")
    private Long categoryId;

    @Schema(description = "封面图片路径")
    @ExcelProperty("封面图片路径")
    private String coverImage;

    @Schema(description = "行锁版本号")
    @ExcelProperty("行锁版本号")
    private Integer version;

    @Schema(description = "组归属部门（当前新增用户所在的部门）", example = "9238")
    @ExcelProperty("组归属部门（当前新增用户所在的部门）")
    private Long deptId;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    private List<CourseMaterialsRespVO> materialList;

}